package com.diaohw.module.file.obj.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * 用户上传表 DTO
 *
 * @author D-Hw
 * @since 2024-11-05
 */
@Data
@Accessors(chain = true)
@Schema(name = "AccountFileDO", description = "用户上传表 DTO")
public class AccountFileDTO implements Serializable {


    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 文件名称
     */
    @Schema(description = "文件名称")
    private String filename;

    /**
     * 目录ID
     */
    @Schema(description = "目录ID")
    @NotNull(message = "目录不能为空")
    private String catalogId;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;


    @Schema(description = "标签ID集合")
    private List<String> tagIds;

    @NotNull(message = "存储路径不能为空")
    @Schema(description = "存储路径")
    private String storage;
}
